賀!此系列文榮獲 2023 iThome 鐵人賽《優選》獎項,正在規劃出書中,感謝大家的支持🙏,同名課程「Java 工程師必備!Spring Boot 零基礎入門」也已在 Hahow 平台上架
哈囉大家好,我是古古
在前面的文章中,我們了解了 Spring 框架中的最重要的兩個特性:IoC 和 AOP,所以有關於 Spring Boot 的基本用法,大家應該就不會那麼陌生了
那麼從這篇文章開始,就會進入到下一個章節:Spring MVC,Spring MVC 可以說是在 Spring Boot 中使用最頻繁的功能之一,那我們就開始吧!
在我們開始介紹什麼是 Spring MVC 之前,我們先來回顧一下什麼是「前端」和「後端」
在現今的網站架構中,主要可以分成「前端」和「後端」兩部分
所以簡單的說的話,前端工程師就是去負責實作「這個網頁要長什麼樣子」,而後端工程師,則是負責去處理「我要在這個網頁上賣什麼東西」,所以前端工程師處理的是排版設計,而後端工程師處理的則是動態的數據
不過我們平常看見的網頁,其實是前端和後端整合在一起的結果,所以前端除了設計網頁的排版之外,同時也需要去問後端說「這裡應該要顯示哪些商品?」,由後端告訴前端說「這裡要呈現的商品數據是什麼」(因為後端是負責處理數據的)
因此當前端拿到這些商品數據之後,就會將這些數據和排版結合再一起,最後再將結果呈現給使用者看,所以我們平常所瀏覽的網頁,就是由「前端的排版」加上「後端的數據」,所組合出來的成果
而在這之中,前端和後端勢必然需要經過特定的方式,才能夠達到將這些數據互相傳遞,因此 Spring MVC 所負責的,就是去解決「前端和後端之間是怎麼去溝通的」的問題
所以換句話說的話,在接下來 Spring MVC 章節裡面所介紹的所有內容,就都是在講要怎麼去和前端進行溝通
大概了解了 Spring MVC 功能的用途之後,接著我們可以回頭來看一下 Spring MVC 的定義
Spring MVC 的用途,就是讓我們「在 Spring Boot 中實作前後端之間的溝通」,所以我們之後就可以透過 Spring MVC 的功能,去創建一個 API 出來、或是去接住前端所傳過來的參數了,有關這部分的介紹都會在後續的文章中提到
我們其實在前面的文章中,就已經有使用到了 Spring MVC 的功能,而且是一路使用到現在XD
在 Day4 - 第一個 Spring Boot 程式 的那篇文章中,我們有在 Spring Boot 程式中創建了一個 MyController 的 class,而當時是告訴大家說,只要我們運行起 Spring Boot 程式,然後在瀏覽器中輸入 http://localhost:8080/test 時,Spring Boot 就會去執行 MyController 中的 test 方法
而之所以在瀏覽器中輸入 http://localhost:8080/test ,Spring Boot 就會去執行 MyController 中的 test 方法,就是靠著 @RestController
和 @RequestMapping
這兩行程式的幫助,才讓我們可以達到這個效果的
所以在後面的文章中,就會來介紹 Spring MVC 到底是怎麼做到這件事的,同時也會介紹 @RestController
和 @RequestMapping
這些程式,他們分別代表的又是什麼意思
這篇文章先回顧了前端和後端之間的區別,並且介紹了 Spring MVC 這個功能的用途是什麼,讓大家對 Spring MVC 的定位先有一個概念上的認識
而在我們開始進入 Spring MVC 的介紹之前,會需要大家先對前後端溝通的協議有一些基本的認識,因此下一篇文章我們就會先來介紹前後端溝通最基礎的部分:Http 協議,那我們就下一篇文章見啦!